package com.iweb.dao;

import com.iweb.entity.Category;
import com.iweb.util.Pager;

import java.util.List;

public interface CategoryDao {

    /**
     * 查询合计有多少条记录
     *
     * @return
     */
    int selectTotalCount() throws Exception;


    /**
     * 根据id查询分类信息
     *
     * @param id
     * @return
     */
    Category selectCategoryById(Integer id) throws Exception;

    /**
     * 查询所有分类
     *
     * @return
     */
    List<Category> selectList() throws Exception;

    /**
     * 根据父分类id获取改类别下的所有分类信息
     * @param parentId 父分类id
     * @return
     * @throws Exception
     */
    List<Category> selectList(Integer parentId) throws Exception;

    /**
     * 分页查询, 带查询参数对象
     *
     * @return
     * @throws Exception
     */
    List<Category> selectPagedList(Pager<Category> pager) throws Exception;

    /**
     * 删除分类
     *
     * @param id
     * @return
     */
    int delete(Integer id) throws Exception;

    /**
     * 新增分类
     *
     * @param Category
     */
    void insert(Category Category) throws Exception;

    /**
     * 修改分类信息
     *
     * @param Category 待修改的分类信息
     * @return
     * @throws Exception
     */
    int update(Category Category) throws Exception;
}
